import java.util.Map;

/**
 * Dify发送对话消息请求体
 * @author zishun
 * @since 2025/2/24 17:38
 */

public class DifyChatMessagesRequest {
    /*@Schema(description = "应用id")
    @NotBlank(message = "应用id不能为空")*/
    private String appId;

    /*@Schema(description = "query用户输入内容")
    @NotBlank(message = "聊天内容不能为空")*/
    private String query;

    /* @Schema(description = "定义的各变量值 Key/Value")*/
    private Map<String, Object> inputs;

    //@Schema(description = "响应模式：streaming 流式模式（推荐）blocking 阻塞模式，等待执行完毕后返回结果  注：                                                                                                                                                               。")
    private String response_mode;

    //@Schema(description = "用户id:用户标识，用于定义终端用户的身份，方便检索、统计。 由开发者定义规则，需保证用户标识在应用内唯一。")
    private String user;

    //@Schema(description = "（选填）会话 ID，需要基于之前的聊天记录继续对话，必须传之前消息的 conversation_id")
    private String conversation_id;

    //@Schema(description = "（选填）是否自动生成名称，默认为 false")
    private Boolean auto_generate_name;

    //@Schema(description = "（选填）上传的文件")
    //private List<DifyFileInfo> files;


    public String getAppId() {
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getQuery() {
        return query;
    }

    public void setQuery(String query) {
        this.query = query;
    }

    public Map<String, Object> getInputs() {
        return inputs;
    }

    public void setInputs(Map<String, Object> inputs) {
        this.inputs = inputs;
    }

    public String getResponse_mode() {
        return response_mode;
    }

    public void setResponse_mode(String response_mode) {
        this.response_mode = response_mode;
    }

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String getConversation_id() {
        return conversation_id;
    }

    public void setConversation_id(String conversation_id) {
        this.conversation_id = conversation_id;
    }

    public Boolean getAuto_generate_name() {
        return auto_generate_name;
    }

    public void setAuto_generate_name(Boolean auto_generate_name) {
        this.auto_generate_name = auto_generate_name;
    }

    @Override
    public String toString() {
        return "DifyChatMessagesRequest{" +
                "appId='" + appId + '\'' +
                ", query='" + query + '\'' +
                ", inputs=" + inputs +
                ", response_mode='" + response_mode + '\'' +
                ", user='" + user + '\'' +
                ", conversation_id='" + conversation_id + '\'' +
                ", auto_generate_name=" + auto_generate_name +
                '}';
    }
}
